﻿using System;
using System.Runtime.Serialization;
using NCMIS.ObjectModel.MetaData;

namespace NCMIS.Produce
{
    /// <summary>
    /// Indicates the support a repository has for updating a document's content stream.
    /// </summary>
    [DataContract(Namespace = CmisNs.Cmis)]
    public enum CapabilityContentStreamUpdates
    {
        /// <summary>
        /// The content stream may be updated any time.
        /// </summary>
        [EnumMember(Value = "anytime")]
        Anytime,

        /// <summary>
        /// The content stream may be updated only when checked out (PWC, Private Working Copy).
        /// </summary>
        [EnumMember(Value = "pwconly")]
        PwcOnly,

        /// <summary>
        /// The content stream may never be updated.
        /// </summary>
        [EnumMember(Value = "none")]
        None,
    }
}
